AWS AI Services: Specialized Managed Services
Beyond SageMaker and Bedrock, AWS offers a suite of "AI Services" which are pre-trained models accessible via simple API calls. No machine learning expertise is required.
1. Natural Language & Text
📝 Amazon Comprehend
- Purpose: NLP to extract insights and relationships in text.
- Features: Sentiment Analysis, Entity Recognition, Keyphrase Extraction, Medical (Specialized).
- Example:
comprehend.detect_sentiment(Text="I love AWS!", LanguageCode="en")
📄 Amazon Textract
- Purpose: Automatically extracts text, handwriting, and data from scanned documents.
- Features: Form recognition (key-value pairs), Table extraction, Query-based extraction.
2. Speech & Language Translation
🗣️ Amazon Polly
- Purpose: Text-to-Speech (TTS). Converts text into life-like speech.
- Features: Neural TTS (Highly natural), SSML support (control prosody), Lexicons.
- Example:
polly.synthesize_speech(Text="Hello!", OutputFormat="mp3", VoiceId="Joanna")
🎤 Amazon Transcribe
- Purpose: Automatic Speech Recognition (ASR). Speech-to-Text.
- Features: Real-time streaming, Speaker identification (diarization), PII redaction (Call centers).
🌐 Amazon Translate
- Purpose: Neural machine translation service.
- Features: Real-time translation, Batch translation, Custom terminology.
3. Specialized Business Services
| Service | Category | Use Case |
|---|---|---|
| Personalize | Recommendation | Build real-time recommendations (like Amazon.com). |
| Lex | Chatbots | Build conversational interfaces (The technology behind Alexa). |
| Kendra | Search | Enterprise search service powered by ML (finds answers in docs). |
| Forecast | Time Series | Predict future business metrics (inventory, revenue). |
| Fraud Detector | Security | Identify potentially fraudulent online activities. |
4. Technical Strategy: Which Service When?
- Need to recognize a person? -> Rekognition (Collections).
- Need to extract data from an Invoice? -> Textract.
- Need to search through a massive PDF repository? -> Kendra.
- Need to analyze customer sentiment on social media? -> Comprehend.
- Need to build your own custom LLM or use GPT-like models? -> Bedrock / SageMaker.
📝 Implementation Snippet: Sentiment Analysis (Boto3)
import boto3
comprehend = boto3.client('comprehend')
text = "The product arrived early and works perfectly!"
response = comprehend.detect_sentiment(Text=text, LanguageCode='en')
print(f"Sentiment: {response['Sentiment']}") # Output: POSITIVE